On Developing Optimistic Transactional Lazy Set
نویسندگان
چکیده
Transactional data structures with the same performance of highly concurrent data structures enable performance-competitive transactional applications. Although Software Transactional Memory (STM) is a promising technology for designing and implementing transactional applications, STM-based transactional data structures still perform inferior to their optimized, concurrent (i.e. non-transactional) counterparts. In this paper, we present OTB-Set, an efficient optimistic transactional lazy set based on both linked-list and skip-list implementations. We first provide general guidelines to show how to design a transactional (non-optimized) version of the highly concurrent lazy set with a minimal reengineering effort. Subsequently, we show how to make specific optimizations to the implementations of the OTB-Set for further enhancing its performance. We also prove that our OTB-Set provides linearizable individual operations and opaque transactions. Our experimental study on a 64-core machine reveals that OTB-Set outperforms competitors in most workloads.
منابع مشابه
On Improving Transactional Memory: Optimistic Transactional Boosting, Remote Execution, and Hybrid Transactions
(ABSTRACT) Transactional memory (TM) has emerged as a promising synchronization abstraction for multi-core architectures. Unlike traditional lock based approaches, TM shifts the burden of synchronization from the programmer to an underlying framework using hardware (HTM) and/or software (STM) components. Although STM provides a generic solution for developing more complex concurrent application...
متن کاملLARKTM: Efficient, Strongly Atomic Software Transactional Memory
Software transactional memory provides an appealing alternative to locks by improving programmability, reliability, and scalability without relying on custom hardware. However, existing STMs are impractical because they add high overhead and provide weak semantics—or they provide strong atomicity semantics and add even higher overhead. Existing STMs are impractical largely due to the cost of co...
متن کاملA Lazy Snapshot Algorithm with Eager Validation
Most high-performance software transactional memories (STM) use optimistic invisible reads. Consequently, a transaction might have an inconsistent view of the objects it accesses unless the consistency of the view is validated whenever the view changes. Although all STMs usually detect inconsistencies at commit time, a transaction might never reach this point because an inconsistent view can pr...
متن کاملLV*: A low complexity lazy versioning HTM infrastructure
Transactional memory (TM) promises to unlock parallelism in software in a safer and easier way than lock-based approaches but the path to deployment is unclear for several reasons. First of all, since TM has not been deployed in any machine yet, experience of using it is limited. While software transactional memory implementations exist, they are too slow to provide useful experience. Existing ...
متن کاملFormal Verification of a Lazy Concurrent List-Based Set Algorithm
We describe a formal verification of a recent concurrent list-based set algorithm due to Heller et al. The algorithm is optimistic: the add and remove operations traverse the list without locking, and lock only the nodes affected by the operation; the contains operation uses no locks and is wait-free. These properties make the algorithm challenging to prove correct, much more so than simple coa...
متن کامل